推广网站建设产品介绍,免费做电子请帖的网站,沈阳空间选址服务平台上线,做网站前途如何1、词法约定 verilog中的基本词法约定与C类似。verilog描述包含一个 单词流 #xff0c;这里 单词 可以是 注释、分隔符、数字、字符串、标识符、关键字。 verilog大小写相关#xff0c;其中关键字全部小写。 1.1、 空白符 空白符有空格#xff08;\b#xff09;制表…1、词法约定 verilog中的基本词法约定与C类似。verilog描述包含一个 单词流 这里 单词 可以是 注释、分隔符、数字、字符串、标识符、关键字。 verilog大小写相关其中关键字全部小写。 1.1、 空白符 空白符有空格\b制表符\t和换行符组成。 1.2、 注释
a b c ; //单行注释
/**/多行注释 1.3、 操作符 操作符 有三种类型单目操作符双目操作符三目操作符 a ~b ; //单目操作符
a b c ; //双目操作符
a b?c:d ; //三目操作符 1.4、 数字声明 verilog包含两种数字声明指明位宽的数字 和 不指明位宽的数字。 二进制 b 八进制 o 十进制 d 十六进制 h
sizebase_formatnumber 负数
-8d3 ; ? 是 z 的另外表示。 1.5、 字符串 字符串是由 引起来的一个字符队列。 1.6、 标识符和关键字 关键字是语言中预留的用于定义语言结构的特殊标识符。 标识符是程序代码中对象的名字。 1.7、 转义标识符 转义标识符 以 \ 开始以空格空格制表符换行符结束。
2、数据类型 2.1、 值的种类 四值电平逻辑 值的级别硬件电路中的条件0逻辑01逻辑1x逻辑值不确定不定态z高阻态 强度关系 强度等级类型程度highz高抗阻最弱small存储medium存储weak驱动large存储pull驱动strong驱动supply驱动最强 如果两个不同强度的信号驱动同一个线网则竞争结果为 高强度的值 。 如果两个相同强度的信号驱动同一个线网则竞争结果为 不确定值 。 2.2、 线网 线网net表示硬件单元之前的连接。 线网使用 wire 关键字声明。如果没有显式的说明为 向量 则默认线网 宽度为 1 。 wire 的默认值 为 z 。但是trireg 的默认值 为 x 。 net包括 wire wand wor tri triand triort trireg 2.3、 寄存器 寄存器表示存储元件他保持原有的值直到被改写。默认值为 x 。 寄存器也可以带符号,signed
reg signed [63:0] a ; 2.4、 向量 线网 和 寄存器 类型的变量可以声明为 向量位宽大于1。 向量域的选择
[starting:width]
[starting-:width] demo
reg [255:0] data1 ;
reg [0:255] data2 ;
reg [7:0] byte ;//选择向量一部分
byte data1[31-:8] ;//data1[31:24]
byte data1[24:8] ;//data1[31:24]
byte data2[31-:8] ;//data2[24:31]
byte data2[24:8] ;//data2[24:31]//起始位可以是变量但是位宽必须是常量
for(j 0;j 31 ;jj1 )beginbyte data1[(j*8):8] ;end 2.5、 整数、实数、时间寄存器数据类型 整数integer
integer i ;
initial
begini 1 ;
end 实数real,默认为0
real delta
initial
begindelta 2.13 ;
end 时间寄存器time
time save_sim_time ;
initial
beginsave_sim_time $time ;
end 2.6、 数组 verilog允许声明 reg integer time real realtime 向量类型的数组对数组的维度没有限制。 2.7、 存储器 在数字电路仿真中一维数据表示存储器 reg [7:0] membyte [0:255] 2.8、 参数 verilog 使用 parameter 来定义常数但是值可以改变 localparam 等同与parameter 但是值不能改变。 2.9、 字符串 字符串 保存在 reg 之中每个字符占8bit。 如果位宽大于字符串长度用0补位 如果位宽小于字符串长度截去字符串左边的位。
3、系统任务和编译指令 3.1、 系统任务 显示信息$display()
$display( hello world ) ;$display($time) ;监视函数moniter 一份code只有最后一个monitor生效
initial
begin#monitor($time,value of signals clock %b reset %b,clock, reset) ;
end 暂停和结束仿真 暂停$stop 结束$finish ;
initial
beginclk 0 ;reset 1 ;#100$stop ;#100$finish ;
end 3.2、 编译指令 define WORD_SIZE 32 include header.v